<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: Toolchain settings</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">GBDK 2020 Docs
   &#160;<span id="projectnumber">4.4.0</span>
   </div>
   <div id="projectbrief">API Documentation for GBDK 2020</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('docs_toolchain_settings.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">Toolchain settings </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="lcc-settings"></a></p>
<h1><a class="anchor" id="autotoc_md289"></a>
lcc settings</h1>
<div class="fragment"><div class="line">./lcc [ option | file ]...</div>
<div class="line">    except for -l, options are processed left-to-right before files</div>
<div class="line">    unrecognized options are taken to be linker options</div>
<div class="line">-c             compile only</div>
<div class="line">-debug         Turns on --debug for compiler, -y (.cdb), -j (.noi), -w (wide .map format) for linker</div>
<div class="line">                       -Wa-l (assembler .lst), -Wl-u (.lst -&gt; .rst address update)</div>
<div class="line">-Dname=def     define the preprocessor symbol `name&#39;</div>
<div class="line">-E             only run preprocessor on named .c and .h files files -&gt; stdout</div>
<div class="line">--save-preproc Use with -E for output to *.i files instead of stdout</div>
<div class="line">-help or -?    print this message</div>
<div class="line">-Idir          add `dir&#39; to the beginning of the list of #include directories</div>
<div class="line">-K             don&#39;t run ihxcheck test on linker ihx output</div>
<div class="line">-lx            search library `x&#39;</div>
<div class="line">-m             select port and platform: &quot;-m[port]:[plat]&quot; ports:sm83,z80,mos6502 plats:ap,duck,gb,sms,gg,nes</div>
<div class="line">-N             do not search the standard directories for #include files</div>
<div class="line">-no-crt        do not auto-include the gbdk crt0.o runtime in linker list</div>
<div class="line">-no-libs       do not auto-include the gbdk libs in linker list</div>
<div class="line">-o file        leave the output in `file&#39;</div>
<div class="line">-S             compile to assembly language</div>
<div class="line">-autobank      auto-assign banks set to 255 (bankpack)</div>
<div class="line">-tempdir=dir   place temporary files in `dir/&#39;</div>
<div class="line">-Uname         undefine the preprocessor symbol `name&#39;</div>
<div class="line">-v             show commands as they are executed; 2nd -v suppresses execution</div>
<div class="line">-Woarg         specify system-specific `arg&#39;</div>
<div class="line">-W[pfablimnc]arg pass `arg&#39; to the (p)preprocessor, (f)compiler, (a)assembler, (b)bankpack,</div>
<div class="line">                                   (l)linker, (i)ihxcheck, (m)makebin, (n)makenes, (c)makecom</div>
</div><!-- fragment --><p> <a class="anchor" id="sdcc-settings"></a></p>
<h1><a class="anchor" id="autotoc_md290"></a>
sdcc settings</h1>
<div class="fragment"><div class="line">SDCC : z80/sm83/mos6502/mos65c02 TD- 4.5.1 #15267 (Linux)</div>
<div class="line">published under GNU General Public License (GPL)</div>
<div class="line">Usage : sdcc [options] filename</div>
<div class="line">Options :-</div>
<div class="line"> </div>
<div class="line">General options:</div>
<div class="line">      --help                Display this help</div>
<div class="line">  -v  --version             Display sdcc&#39;s version</div>
<div class="line">      --verbose             Trace calls to the preprocessor, assembler, and linker</div>
<div class="line">  -V                        Execute verbosely. Show sub commands as they are run</div>
<div class="line">  -d                        Output list of macro definitions in effect. Use with -E</div>
<div class="line">  -D                        Define macro as in -Dmacro</div>
<div class="line">  -I                        Add to the include (*.h) path, as in -Ipath</div>
<div class="line">  -A                        </div>
<div class="line">  -U                        Undefine macro as in -Umacro</div>
<div class="line">  -M                        Preprocessor option</div>
<div class="line">  -W                        Pass through options to the pre-processor (p), assembler (a) or linker (l)</div>
<div class="line">      --include             Pre-include a file during pre-processing</div>
<div class="line">  -E  --preprocessonly      Preprocess only, do not compile</div>
<div class="line">      --syntax-only         Parse and verify syntax only, do not compile</div>
<div class="line">  -S                        Compile only; do not assemble or link</div>
<div class="line">  -c  --compile-only        Compile and assemble, but do not link</div>
<div class="line">      --c1mode              Act in c1 mode.  The standard input is preprocessed code, the output is assembly code.</div>
<div class="line">  -o                        Place the output into the given path resp. file</div>
<div class="line">  -x                        Optional file type override (c, c-header or none), valid until the next -x</div>
<div class="line">      --print-search-dirs   display the directories in the compiler&#39;s search path</div>
<div class="line">      --vc                  messages are compatible with Micro$oft visual studio</div>
<div class="line">      --use-stdout          send errors to stdout instead of stderr</div>
<div class="line">      --nostdlib            Do not include the standard library directory in the search path</div>
<div class="line">      --nostdinc            Do not include the standard include directory in the search path</div>
<div class="line">      --less-pedantic       Disable some of the more pedantic warnings</div>
<div class="line">      --disable-warning     &lt;nnnn&gt; Disable specific warning</div>
<div class="line">      --Werror              Treat the warnings as errors</div>
<div class="line">      --debug               Enable debugging symbol output</div>
<div class="line">      --cyclomatic          Display complexity of compiled functions</div>
<div class="line">      --std                 Determine the language standard (c90, c99, c11, c23, c2y, sdcc89 etc.)</div>
<div class="line">      --fdollars-in-identifiers  Permit &#39;$&#39; as an identifier character</div>
<div class="line">      --fsigned-char        Make &quot;char&quot; signed by default</div>
<div class="line">      --use-non-free        Search / include non-free licensed libraries and header files</div>
<div class="line"> </div>
<div class="line">Code generation options:</div>
<div class="line">  -m                        Set the port to use e.g. -mz80.</div>
<div class="line">  -p                        Select port specific processor e.g. -mpic14 -p16f84</div>
<div class="line">      --stack-auto          Stack automatic variables</div>
<div class="line">      --xstack              Use external stack</div>
<div class="line">      --int-long-reent      Use reentrant calls on the int and long support functions</div>
<div class="line">      --float-reent         Use reentrant calls on the float support functions</div>
<div class="line">      --xram-movc           Use movc instead of movx to read xram (xdata)</div>
<div class="line">      --callee-saves        &lt;func[,func,...]&gt; Cause the called function to save registers instead of the caller</div>
<div class="line">      --fomit-frame-pointer  Leave out the frame pointer.</div>
<div class="line">      --all-callee-saves    callee will always save registers used</div>
<div class="line">      --stack-probe         insert call to function __stack_probe at each function prologue</div>
<div class="line">      --no-xinit-opt        don&#39;t memcpy initialized xram from code</div>
<div class="line">      --no-c-code-in-asm    don&#39;t include c-code as comments in the asm file</div>
<div class="line">      --no-peep-comments    don&#39;t include peephole optimizer comments</div>
<div class="line">      --codeseg             &lt;name&gt; use this name for the code segment</div>
<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
<div class="line">      --dataseg             &lt;name&gt; use this name for the data segment</div>
<div class="line"> </div>
<div class="line">Optimization options:</div>
<div class="line">      --opt-code-speed      Optimize for code speed rather than size</div>
<div class="line">      --opt-code-size       Optimize for code size rather than speed</div>
<div class="line">      --max-allocs-per-node  Maximum number of register assignments considered at each node of the tree decomposition</div>
<div class="line">      --no-reg-params       On some ports, disable passing some parameters in registers</div>
<div class="line">      --nostdlibcall        Disable optimization of calls to standard library</div>
<div class="line">      --nooverlay           Disable overlaying leaf function auto variables</div>
<div class="line">      --nogcse              Disable the GCSE optimisation</div>
<div class="line">      --nolospre            Disable lospre</div>
<div class="line">      --nogenconstprop      Disable generalized constant propagation</div>
<div class="line">      --nolabelopt          Disable label optimisation</div>
<div class="line">      --noinvariant         Disable optimisation of invariants</div>
<div class="line">      --noinduction         Disable loop variable induction</div>
<div class="line">      --noloopreverse       Disable the loop reverse optimisation</div>
<div class="line">      --no-peep             Disable the peephole assembly file optimisation</div>
<div class="line">      --peep-asm            Enable peephole optimization on inline assembly</div>
<div class="line">      --peep-return         Enable peephole optimization for return instructions</div>
<div class="line">      --no-peep-return      Disable peephole optimization for return instructions</div>
<div class="line">      --peep-file           &lt;file&gt; use this extra peephole file</div>
<div class="line">      --allow-unsafe-read   Allow optimizations to read any memory location anytime</div>
<div class="line"> </div>
<div class="line">Internal debugging options:</div>
<div class="line">      --dump-ast            Dump front-end AST before generating i-code</div>
<div class="line">      --dump-i-code         Dump the i-code structure at all stages</div>
<div class="line">      --dump-graphs         Dump graphs (control-flow, conflict, etc)</div>
<div class="line">      --i-code-in-asm       Include i-code as comments in the asm file</div>
<div class="line">      --fverbose-asm        Include code generator comments in the asm output</div>
<div class="line"> </div>
<div class="line">Linker options:</div>
<div class="line">  -l                        Include the given library in the link</div>
<div class="line">  -L                        Add the next field to the library search path</div>
<div class="line">      --lib-path            &lt;path&gt; use this path to search for libraries</div>
<div class="line">      --out-fmt-ihx         Output in Intel hex format</div>
<div class="line">      --out-fmt-s19         Output in S19 hex format</div>
<div class="line">      --xram-loc            &lt;nnnn&gt; External Ram start location</div>
<div class="line">      --xram-size           &lt;nnnn&gt; External Ram size</div>
<div class="line">      --iram-size           &lt;nnnn&gt; Internal Ram size</div>
<div class="line">      --xstack-loc          &lt;nnnn&gt; External Stack start location</div>
<div class="line">      --code-loc            &lt;nnnn&gt; Code Segment Location</div>
<div class="line">      --code-size           &lt;nnnn&gt; Code Segment size</div>
<div class="line">      --stack-loc           &lt;nnnn&gt; Stack pointer initial value</div>
<div class="line">      --data-loc            &lt;nnnn&gt; Direct data start location</div>
<div class="line">      --idata-loc           </div>
<div class="line">      --no-optsdcc-in-asm   Do not emit .optsdcc in asm</div>
<div class="line"> </div>
<div class="line">Special options for the z80 port:</div>
<div class="line">      --callee-saves-bc     Force a called function to always save BC</div>
<div class="line">      --portmode=           Determine PORT I/O mode (z80/z180)</div>
<div class="line">      -bo                   &lt;num&gt; use code bank &lt;num&gt;</div>
<div class="line">      -ba                   &lt;num&gt; use data bank &lt;num&gt;</div>
<div class="line">      --asm=                Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
<div class="line">      --codeseg             &lt;name&gt; use this name for the code segment</div>
<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
<div class="line">      --dataseg             &lt;name&gt; use this name for the data segment</div>
<div class="line">      --no-std-crt0         Do not link default crt0.rel</div>
<div class="line">      --reserve-regs-iy     Do not use IY (incompatible with --fomit-frame-pointer)</div>
<div class="line">      --fno-omit-frame-pointer  Do not omit frame pointer</div>
<div class="line">      --emit-externs        Emit externs list in generated asm</div>
<div class="line">      --legacy-banking      Use legacy method to call banked functions</div>
<div class="line">      --nmos-z80            Generate workaround for NMOS Z80 when saving IFF2</div>
<div class="line">      --sdcccall            Set ABI version for default calling convention</div>
<div class="line">      --allow-undocumented-instructions  Allow use of undocumented instructions</div>
<div class="line"> </div>
<div class="line">Special options for the sm83 port:</div>
<div class="line">      -bo                   &lt;num&gt; use code bank &lt;num&gt;</div>
<div class="line">      -ba                   &lt;num&gt; use data bank &lt;num&gt;</div>
<div class="line">      --asm=                Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
<div class="line">      --callee-saves-bc     Force a called function to always save BC</div>
<div class="line">      --codeseg             &lt;name&gt; use this name for the code segment</div>
<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
<div class="line">      --dataseg             &lt;name&gt; use this name for the data segment</div>
<div class="line">      --no-std-crt0         Do not link default crt0.rel</div>
<div class="line">      --legacy-banking      Use legacy method to call banked functions</div>
<div class="line">      --sdcccall            Set ABI version for default calling convention</div>
<div class="line"> </div>
<div class="line">Special options for the mos6502 port:</div>
<div class="line">      --model-small         8-bit address space for data</div>
<div class="line">      --model-large         16-bit address space for data (default)</div>
<div class="line">      --no-zp-spill         place register spills in 16-bit address space</div>
<div class="line">      --no-std-crt0         Do not link default crt0.rel</div>
<div class="line"> </div>
<div class="line">Special options for the mos65c02 port:</div>
<div class="line">      --model-small         8-bit address space for data</div>
<div class="line">      --model-large         16-bit address space for data (default)</div>
<div class="line">      --no-zp-spill         place register spills in 16-bit address space</div>
<div class="line">      --no-std-crt0         Do not link default crt0.rel</div>
</div><!-- fragment --><p> <a class="anchor" id="sdasgb-settings"></a></p>
<h1><a class="anchor" id="autotoc_md291"></a>
sdasgb settings</h1>
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods  (GameBoy)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">Copyright (C) 2012  Alan R. Baldwin</div>
<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">  -h   or NO ARGUMENTS  Show this help list</div>
<div class="line">Input:</div>
<div class="line">  -I   Add the named directory to the include file</div>
<div class="line">       search path.  This option may be used more than once.</div>
<div class="line">       Directories are searched in the order given.</div>
<div class="line">Output:</div>
<div class="line">  -l   Create list   file/outfile[.lst]</div>
<div class="line">  -o   Create object file/outfile[.rel]</div>
<div class="line">  -s   Create symbol file/outfile[.sym]</div>
<div class="line">Listing:</div>
<div class="line">  -d   Decimal listing</div>
<div class="line">  -q   Octal   listing</div>
<div class="line">  -x   Hex     listing (default)</div>
<div class="line">  -b   Display .define substitutions in listing</div>
<div class="line">  -bb  and display without .define substitutions</div>
<div class="line">  -c   Disable instruction cycle count in listing</div>
<div class="line">  -f   Flag relocatable references by  `   in listing file</div>
<div class="line">  -ff  Flag relocatable references by mode in listing file</div>
<div class="line">  -p   Disable automatic listing pagination</div>
<div class="line">  -u   Disable .list/.nlist processing</div>
<div class="line">  -w   Wide listing format for symbol table</div>
<div class="line">Assembly:</div>
<div class="line">  -v   Enable out of range signed / unsigned errors</div>
<div class="line">Symbols:</div>
<div class="line">  -a   All user symbols made global</div>
<div class="line">  -g   Undefined symbols made global</div>
<div class="line">  -N   Don&#39;t resolve global assigned value symbols</div>
<div class="line">  -z   Disable case sensitivity for symbols</div>
<div class="line">Debugging:</div>
<div class="line">  -j   Enable NoICE Debug Symbols</div>
<div class="line">  -y   Enable SDCC  Debug Symbols</div>
</div><!-- fragment --><p> <a class="anchor" id="sdasz80-settings"></a></p>
<h1><a class="anchor" id="autotoc_md292"></a>
sdasz80 settings</h1>
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">Copyright (C) 2012  Alan R. Baldwin</div>
<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">  -h   or NO ARGUMENTS  Show this help list</div>
<div class="line">Input:</div>
<div class="line">  -I   Add the named directory to the include file</div>
<div class="line">       search path.  This option may be used more than once.</div>
<div class="line">       Directories are searched in the order given.</div>
<div class="line">Output:</div>
<div class="line">  -l   Create list   file/outfile[.lst]</div>
<div class="line">  -o   Create object file/outfile[.rel]</div>
<div class="line">  -s   Create symbol file/outfile[.sym]</div>
<div class="line">Listing:</div>
<div class="line">  -d   Decimal listing</div>
<div class="line">  -q   Octal   listing</div>
<div class="line">  -x   Hex     listing (default)</div>
<div class="line">  -b   Display .define substitutions in listing</div>
<div class="line">  -bb  and display without .define substitutions</div>
<div class="line">  -c   Disable instruction cycle count in listing</div>
<div class="line">  -f   Flag relocatable references by  `   in listing file</div>
<div class="line">  -ff  Flag relocatable references by mode in listing file</div>
<div class="line">  -p   Disable automatic listing pagination</div>
<div class="line">  -u   Disable .list/.nlist processing</div>
<div class="line">  -w   Wide listing format for symbol table</div>
<div class="line">Assembly:</div>
<div class="line">  -v   Enable out of range signed / unsigned errors</div>
<div class="line">Symbols:</div>
<div class="line">  -a   All user symbols made global</div>
<div class="line">  -g   Undefined symbols made global</div>
<div class="line">  -N   Don&#39;t resolve global assigned value symbols</div>
<div class="line">  -z   Disable case sensitivity for symbols</div>
<div class="line">Debugging:</div>
<div class="line">  -j   Enable NoICE Debug Symbols</div>
<div class="line">  -y   Enable SDCC  Debug Symbols</div>
</div><!-- fragment --><p> <a class="anchor" id="sdas6500-settings"></a></p>
<h1><a class="anchor" id="autotoc_md293"></a>
sdas6500 settings</h1>
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods  (Rockwell 6502/6510/65C02)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">Copyright (C) 2012  Alan R. Baldwin</div>
<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">  -h   or NO ARGUMENTS  Show this help list</div>
<div class="line">Input:</div>
<div class="line">  -I   Add the named directory to the include file</div>
<div class="line">       search path.  This option may be used more than once.</div>
<div class="line">       Directories are searched in the order given.</div>
<div class="line">Output:</div>
<div class="line">  -l   Create list   file/outfile[.lst]</div>
<div class="line">  -o   Create object file/outfile[.rel]</div>
<div class="line">  -s   Create symbol file/outfile[.sym]</div>
<div class="line">Listing:</div>
<div class="line">  -d   Decimal listing</div>
<div class="line">  -q   Octal   listing</div>
<div class="line">  -x   Hex     listing (default)</div>
<div class="line">  -b   Display .define substitutions in listing</div>
<div class="line">  -bb  and display without .define substitutions</div>
<div class="line">  -c   Disable instruction cycle count in listing</div>
<div class="line">  -f   Flag relocatable references by  `   in listing file</div>
<div class="line">  -ff  Flag relocatable references by mode in listing file</div>
<div class="line">  -p   Disable automatic listing pagination</div>
<div class="line">  -u   Disable .list/.nlist processing</div>
<div class="line">  -w   Wide listing format for symbol table</div>
<div class="line">Assembly:</div>
<div class="line">  -v   Enable out of range signed / unsigned errors</div>
<div class="line">Symbols:</div>
<div class="line">  -a   All user symbols made global</div>
<div class="line">  -g   Undefined symbols made global</div>
<div class="line">  -N   Don&#39;t resolve global assigned value symbols</div>
<div class="line">  -z   Disable case sensitivity for symbols</div>
<div class="line">Debugging:</div>
<div class="line">  -j   Enable NoICE Debug Symbols</div>
<div class="line">  -y   Enable SDCC  Debug Symbols</div>
</div><!-- fragment --><p> <a class="anchor" id="bankpack-settings"></a></p>
<h1><a class="anchor" id="autotoc_md294"></a>
bankpack settings</h1>
<div class="fragment"><div class="line">bankalloc [options] objfile1 objfile2 etc</div>
<div class="line">Use: Read .o files and auto-assign areas with bank=255.</div>
<div class="line">     Typically called by Lcc compiler driver before linker.</div>
<div class="line"> </div>
<div class="line">Options</div>
<div class="line">-h             : Show this help</div>
<div class="line">-lkin=&lt;file&gt;   : Load object files specified in linker file &lt;file&gt;</div>
<div class="line">-lkout=&lt;file&gt;  : Write list of object files out to linker file &lt;file&gt;</div>
<div class="line">-yt&lt;mbctype&gt;   : Set MBC type per ROM byte 149 in Decimal or Hex (0xNN)</div>
<div class="line">                ([see pandocs](https://gbdev.io/pandocs/The_Cartridge_Header.html#0147---cartridge-type))</div>
<div class="line">-mbc=N         : Similar to -yt, but sets MBC type directly to N instead</div>
<div class="line">                of by intepreting ROM byte 149</div>
<div class="line">                mbc1 will exclude banks {0x20,0x40,0x60} max=127, </div>
<div class="line">                mbc2 max=15, mbc3 max=127, mbc5 max=255 (not 511!) </div>
<div class="line">-min=N         : Min assigned ROM bank is N (default 1)</div>
<div class="line">-max=N         : Max assigned ROM bank is N, error if exceeded</div>
<div class="line">-ext=&lt;.ext&gt;    : Write files out with &lt;.ext&gt; instead of source extension</div>
<div class="line">-path=&lt;path&gt;   : Write files out to &lt;path&gt; (&lt;path&gt; *MUST* already exist)</div>
<div class="line">-sym=&lt;prefix&gt;  : Add symbols starting with &lt;prefix&gt; to match + update list</div>
<div class="line">                 Default entry is &quot;___bank_&quot; (see below)</div>
<div class="line">-cartsize      : Print min required cart size as &quot;autocartsize:&lt;NNN&gt;&quot;</div>
<div class="line">-plat=&lt;plat&gt;   : Select platform specific behavior (default:gb) (gb,sms)</div>
<div class="line">-random        : Distribute banks randomly for testing (honors -min/-max)</div>
<div class="line">-reserve=&lt;b:n&gt; : Reserve N bytes (hex) in bank B (decimal)</div>
<div class="line">                 Ex: -reserve=105:30F reserves 0x30F bytes in bank 105</div>
<div class="line">-banktype=&lt;b:t&gt;: Set bank B (decimal) to use type T (CODE or LIT). For sms/gg</div>
<div class="line">                 Ex: -banktype=2:LIT sets bank 2 to type LIT</div>
<div class="line">-v             : Verbose output, show assignments</div>
<div class="line"> </div>
<div class="line">Example: &quot;bankpack -ext=.rel -path=some/newpath/ file1.o file2.o&quot;</div>
<div class="line">Unless -ext or -path specify otherwise, input files are overwritten.</div>
<div class="line"> </div>
<div class="line">Default MBC type is not set. It *must* be specified by -mbc= or -yt!</div>
<div class="line"> </div>
<div class="line">The following will have FF and 255 replaced with the assigned bank:</div>
<div class="line">A _CODE_255 size &lt;size&gt; flags &lt;flags&gt; addr &lt;address&gt;</div>
<div class="line">S b_&lt;function name&gt; Def0000FF</div>
<div class="line">S ___bank_&lt;const name&gt; Def0000FF</div>
<div class="line">    (Above can be made by: const void __at(255) __bank_&lt;const name&gt;;</div>
</div><!-- fragment --><p> <a class="anchor" id="sdldgb-settings"></a></p>
<h1><a class="anchor" id="autotoc_md295"></a>
sdldgb settings</h1>
<div class="fragment"><div class="line">sdld Linker V03.00/V05.40 + sdld</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">Startup:</div>
<div class="line">  -p   Echo commands to stdout (default)</div>
<div class="line">  -n   No echo of commands to stdout</div>
<div class="line">Alternates to Command Line Input:</div>
<div class="line">  -c                   ASlink &gt;&gt; prompt input</div>
<div class="line">  -f   file[.lk]       Command File input</div>
<div class="line">Libraries:</div>
<div class="line">  -k   Library path specification, one per -k</div>
<div class="line">  -l   Library file specification, one per -l</div>
<div class="line">Relocation:</div>
<div class="line">  -b   area base address = expression</div>
<div class="line">  -g   global symbol = expression</div>
<div class="line">  -a   (platform) Select platform specific virtual address translation</div>
<div class="line">Map format:</div>
<div class="line">  -m   Map output generated as (out)file[.map]</div>
<div class="line">  -w   Wide listing format for map file</div>
<div class="line">  -x   Hexadecimal (default)</div>
<div class="line">  -d   Decimal</div>
<div class="line">  -q   Octal</div>
<div class="line">Output:</div>
<div class="line">  -i   Intel Hex as (out)file[.ihx]</div>
<div class="line">  -s   Motorola S Record as (out)file[.s19]</div>
<div class="line">  -j   NoICE Debug output as (out)file[.noi]</div>
<div class="line">  -y   SDCDB Debug output as (out)file[.cdb]</div>
<div class="line">List:</div>
<div class="line">  -u   Update listing file(s) with link data as file(s)[.rst]</div>
<div class="line">Case Sensitivity:</div>
<div class="line">  -z   Disable Case Sensitivity for Symbols</div>
<div class="line">End:</div>
<div class="line">  -e   or null line terminates input</div>
</div><!-- fragment --><p> <a class="anchor" id="sdldz80-settings"></a></p>
<h1><a class="anchor" id="autotoc_md296"></a>
sdldz80 settings</h1>
<div class="fragment"><div class="line">sdld Linker V03.00/V05.40 + sdld</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">Startup:</div>
<div class="line">  -p   Echo commands to stdout (default)</div>
<div class="line">  -n   No echo of commands to stdout</div>
<div class="line">Alternates to Command Line Input:</div>
<div class="line">  -c                   ASlink &gt;&gt; prompt input</div>
<div class="line">  -f   file[.lk]       Command File input</div>
<div class="line">Libraries:</div>
<div class="line">  -k   Library path specification, one per -k</div>
<div class="line">  -l   Library file specification, one per -l</div>
<div class="line">Relocation:</div>
<div class="line">  -b   area base address = expression</div>
<div class="line">  -g   global symbol = expression</div>
<div class="line">  -a   (platform) Select platform specific virtual address translation</div>
<div class="line">Map format:</div>
<div class="line">  -m   Map output generated as (out)file[.map]</div>
<div class="line">  -w   Wide listing format for map file</div>
<div class="line">  -x   Hexadecimal (default)</div>
<div class="line">  -d   Decimal</div>
<div class="line">  -q   Octal</div>
<div class="line">Output:</div>
<div class="line">  -i   Intel Hex as (out)file[.ihx]</div>
<div class="line">  -s   Motorola S Record as (out)file[.s19]</div>
<div class="line">  -j   NoICE Debug output as (out)file[.noi]</div>
<div class="line">  -y   SDCDB Debug output as (out)file[.cdb]</div>
<div class="line">List:</div>
<div class="line">  -u   Update listing file(s) with link data as file(s)[.rst]</div>
<div class="line">Case Sensitivity:</div>
<div class="line">  -z   Disable Case Sensitivity for Symbols</div>
<div class="line">End:</div>
<div class="line">  -e   or null line terminates input</div>
</div><!-- fragment --><p> <a class="anchor" id="sdld6808-settings"></a></p>
<h1><a class="anchor" id="autotoc_md297"></a>
sdld6808 settings</h1>
<div class="fragment"><div class="line">sdld Linker V03.00/V05.40 + sdld</div>
<div class="line"> </div>
<div class="line">Usage: [-Options] [-Option with arg] file</div>
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
<div class="line">Startup:</div>
<div class="line">  -p   Echo commands to stdout (default)</div>
<div class="line">  -n   No echo of commands to stdout</div>
<div class="line">Alternates to Command Line Input:</div>
<div class="line">  -c                   ASlink &gt;&gt; prompt input</div>
<div class="line">  -f   file[.lk]       Command File input</div>
<div class="line">Libraries:</div>
<div class="line">  -k   Library path specification, one per -k</div>
<div class="line">  -l   Library file specification, one per -l</div>
<div class="line">Relocation:</div>
<div class="line">  -b   area base address = expression</div>
<div class="line">  -g   global symbol = expression</div>
<div class="line">  -a   (platform) Select platform specific virtual address translation</div>
<div class="line">Map format:</div>
<div class="line">  -m   Map output generated as (out)file[.map]</div>
<div class="line">  -w   Wide listing format for map file</div>
<div class="line">  -x   Hexadecimal (default)</div>
<div class="line">  -d   Decimal</div>
<div class="line">  -q   Octal</div>
<div class="line">Output:</div>
<div class="line">  -i   Intel Hex as (out)file[.ihx]</div>
<div class="line">  -s   Motorola S Record as (out)file[.s19]</div>
<div class="line">  -j   NoICE Debug output as (out)file[.noi]</div>
<div class="line">  -y   SDCDB Debug output as (out)file[.cdb]</div>
<div class="line">List:</div>
<div class="line">  -u   Update listing file(s) with link data as file(s)[.rst]</div>
<div class="line">Case Sensitivity:</div>
<div class="line">  -z   Disable Case Sensitivity for Symbols</div>
<div class="line">End:</div>
<div class="line">  -e   or null line terminates input</div>
</div><!-- fragment --><p> <a class="anchor" id="ihxcheck-settings"></a></p>
<h1><a class="anchor" id="autotoc_md298"></a>
ihxcheck settings</h1>
<div class="fragment"><div class="line">ihx_check input_file.ihx [options]</div>
<div class="line"> </div>
<div class="line">Options</div>
<div class="line">-h : Show this help</div>
<div class="line">-e : Treat warnings as errors</div>
<div class="line"> </div>
<div class="line">Use: Read a .ihx and warn about overlapped areas.</div>
<div class="line">Example: &quot;ihx_check build/MyProject.ihx&quot;</div>
</div><!-- fragment --><p> <a class="anchor" id="makebin-settings"></a></p>
<h1><a class="anchor" id="autotoc_md299"></a>
makebin settings</h1>
<p>Also see <a class="el" href="docs_rombanking_mbcs.html#setting_mbc_and_rom_ram_banks">setting_mbc_and_rom_ram_banks</a> </p><div class="fragment"><div class="line">makebin: convert a Intel IHX file to binary or GameBoy format binary.</div>
<div class="line">Usage: makebin [options] [&lt;in_file&gt; [&lt;out_file&gt;]]</div>
<div class="line">Options:</div>
<div class="line">  -p             pack mode: the binary file size will be truncated to the last occupied byte</div>
<div class="line">  -s romsize     size of the binary file (default: rom banks * 16384)</div>
<div class="line">  -Z             generate GameBoy format binary file</div>
<div class="line">  -S             generate Sega Master System format binary file</div>
<div class="line">  -N             generate Famicom/NES format binary file</div>
<div class="line">  -o bytes       skip amount of bytes in binary file</div>
<div class="line">SMS format options (applicable only with -S option):</div>
<div class="line">  -xo n          header rom size (0xa-0x2) (default: 0xc)</div>
<div class="line">  -xj n          set region code (3-7) (default: 4)</div>
<div class="line">  -xv n          version number (0-15) (default: 0)</div>
<div class="line">  -yo n          number of rom banks (default: 2) (autosize: A)</div>
<div class="line">  -ya n          number of ram banks (default: 0)</div>
<div class="line">GameBoy format options (applicable only with -Z option):</div>
<div class="line">  -yo n          number of rom banks (default: 2) (autosize: A)</div>
<div class="line">  -ya n          number of ram banks (default: 0)</div>
<div class="line">  -yt n          MBC type (default: no MBC)</div>
<div class="line">  -yl n          old licensee code (default: 0x33)</div>
<div class="line">  -yk cc         new licensee string (default: 00)</div>
<div class="line">  -yn name       cartridge name (default: none)</div>
<div class="line">  -yc            GameBoy Color compatible</div>
<div class="line">  -yC            GameBoy Color only</div>
<div class="line">  -ys            Super GameBoy</div>
<div class="line">  -yS            Convert .noi file named like input file to .sym</div>
<div class="line">  -yj            set non-Japanese region flag</div>
<div class="line">  -yN            do not copy big N validation logo into ROM header</div>
<div class="line">  -yp addr=value Set address in ROM to given value (address 0x100-0x1FE)</div>
<div class="line">Arguments:</div>
<div class="line">  &lt;in_file&gt;      optional IHX input file, &#39;-&#39; means stdin. (default: stdin)</div>
<div class="line">  &lt;out_file&gt;     optional output file, &#39;-&#39; means stdout. (default: stdout)</div>
</div><!-- fragment --><p> <a class="anchor" id="makecom-settings"></a></p>
<h1><a class="anchor" id="autotoc_md300"></a>
makecom settings</h1>
<div class="fragment"><div class="line">makecom image.rom image.noi output.com</div>
<div class="line">Use: convert a binary .rom file to .msxdos com format.</div>
</div><!-- fragment --><p> <a class="anchor" id="makenes-settings"></a></p>
<h1><a class="anchor" id="autotoc_md301"></a>
makenes settings</h1>
<div class="fragment"><div class="line">makenes: Prepend an iNES header to a binary ROM image file.</div>
<div class="line">Usage: makenes [options] [&lt;in_file&gt; [&lt;out_file&gt;]]</div>
<div class="line">Options:</div>
<div class="line">  -m   Mapper number (default: 0)</div>
<div class="line">  -n   Nametable arrangement:</div>
<div class="line">                              0: vertical arrangement / horizontal mirroring</div>
<div class="line">                              1: horizontal arrangement / vertical mirroring</div>
<div class="line">  -b   Battery bit set (default: 0)</div>
</div><!-- fragment --><p> <a class="anchor" id="gbcompress-settings"></a></p>
<h1><a class="anchor" id="autotoc_md302"></a>
gbcompress settings</h1>
<div class="fragment"><div class="line">gbcompress [options] infile outfile</div>
<div class="line">Use: compress a binary file and write it out.</div>
<div class="line"> </div>
<div class="line">Options</div>
<div class="line">-h       : Show this help screen</div>
<div class="line">-d       : Decompress (default is compress)</div>
<div class="line">-v       : Verbose output</div>
<div class="line">--cin    : Read input as .c source format (8 bit char ONLY, uses first array found)</div>
<div class="line">--cout   : Write output in .c / .h source format (8 bit char ONLY) </div>
<div class="line">--varname=&lt;NAME&gt; : specify variable name for c source output</div>
<div class="line">--alg=&lt;type&gt;     : specify compression type: &#39;rle&#39;, &#39;gb&#39; (default)</div>
<div class="line">--bank=&lt;num&gt;     : Add Bank Ref: 1 - 511 (default is none, with --cout only)</div>
<div class="line">Example: &quot;gbcompress binaryfile.bin compressed.bin&quot;</div>
<div class="line">Example: &quot;gbcompress -d compressedfile.bin decompressed.bin&quot;</div>
<div class="line">Example: &quot;gbcompress --alg=rle binaryfile.bin compressed.bin&quot;</div>
<div class="line"> </div>
<div class="line">The default compression (gb) is the type used by gbtd/gbmb</div>
<div class="line">The rle compression is Amiga IFF style</div>
</div><!-- fragment --><p> <a class="anchor" id="png2asset-settings"></a></p>
<h1><a class="anchor" id="autotoc_md303"></a>
png2asset settings</h1>
<div class="fragment"><div class="line">usage: png2asset    &lt;file&gt;.png [options]</div>
<div class="line">-o &lt;filename&gt;       ouput file (if not used then default is &lt;png file&gt;.c)</div>
<div class="line">-c &lt;filename&gt;       deprecated, same as -o</div>
<div class="line">-sw &lt;width&gt;         metasprites width size (default: png width)</div>
<div class="line">-sh &lt;height&gt;        metasprites height size (default: png height)</div>
<div class="line">-sp &lt;props&gt;         change default for sprite OAM property bytes (in hex) (default: 0x00)</div>
<div class="line">-px &lt;x coord&gt;       metasprites pivot x coordinate (default: metasprites width / 2)</div>
<div class="line">-py &lt;y coord&gt;       metasprites pivot y coordinate (default: metasprites height / 2)</div>
<div class="line">-pw &lt;width&gt;         metasprites collision rect width (default: metasprites width)</div>
<div class="line">-ph &lt;height&gt;        metasprites collision rect height (default: metasprites height)</div>
<div class="line">-spr8x8             for 8x8  hardware sprites (use SPRITES_8x8)</div>
<div class="line">-spr8x16            for 8x16 hardware sprites (use SPRITES_8x16) (the default)</div>
<div class="line">-spr16x16msx        MSX only: for 16x16 hardware sprites (use SPRITES_16x16)</div>
<div class="line">-sprite_no_optimize keep empty sprite tiles, do not remove duplicate tiles</div>
<div class="line">-b &lt;banknum&gt;        Bank number (default: fixed bank)</div>
<div class="line">-area &lt;area name&gt;   Area name. Alters &quot;pragma bank ...&quot; output to constseg style. (Ex: -area LIT)</div>
<div class="line">-keep_palette_order use png palette</div>
<div class="line">-repair_indexed_pal try to repair indexed tile palettes (implies &quot;-keep_palette_order&quot;)</div>
<div class="line">-noflip             disable tile flip</div>
<div class="line">-map                Export as map (tileset + bg) instead of default metasprite output</div>
<div class="line">-use_map_attributes Use CGB BG Map attributes</div>
<div class="line">-use_nes_attributes Use NES BG Map attributes</div>
<div class="line">-use_nes_colors     Convert RGB color values to NES PPU colors</div>
<div class="line">-use_structs        Group the exported info into structs (default: false) (used by ZGB Game Engine)</div>
<div class="line">-bpp                bits per pixel: 1, 2, 4 (default: 2. using 1 auto-enables &quot;-pack_mode 1bpp&quot;)</div>
<div class="line">-max_palettes       max number of palettes allowed (default: 8)</div>
<div class="line">                    (note: max colors = max_palettes x num colors per palette)</div>
<div class="line">-pack_mode          gb, nes, sgb, sms, 1bpp (default: gb. using 1bpp auto-enables &quot;-bpp 1&quot;)</div>
<div class="line">-tile_origin        tile index offset for maps (default: 0)</div>
<div class="line">-tiles_only         export tile data only</div>
<div class="line">-maps_only          export map tilemap only</div>
<div class="line">-metasprites_only   export metasprite descriptors only</div>
<div class="line">-source_tileset     use source tileset (image with common tiles)</div>
<div class="line">-entity_tileset     (maps only) mark matching tiles counting from 255 down, entity patterns not exported</div>
<div class="line">-keep_duplicate_tiles   do not remove duplicate tiles (default: not enabled)</div>
<div class="line">-no_palettes        do not export palette data</div>
<div class="line">-bin                export to binary format</div>
<div class="line">-transposed         export transposed (column-by-column instead of row-by-row)</div>
<div class="line">-rel_paths          paths to tilesets are relative to the input file path</div>
<div class="line">decoder error empty input buffer given to decoder. Maybe caused by non-existing file?</div>
</div><!-- fragment --><p> <a class="anchor" id="png2hicolorgb-settings"></a></p>
<h1><a class="anchor" id="autotoc_md304"></a>
png2hicolorgb settings</h1>
<div class="fragment"><div class="line">png2hicolorgb input_image.png [options]</div>
<div class="line">version 1.4.2: bbbbbr. Based on Glen Cook&#39;s Windows GUI &quot;hicolour.exe&quot; 1.2</div>
<div class="line">Convert an image to Game Boy Hi-Color format</div>
<div class="line"> </div>
<div class="line">Options</div>
<div class="line">-h         : Show this help</div>
<div class="line">-v*        : Set log level: &quot;-v&quot; verbose, &quot;-vQ&quot; quiet, &quot;-vE&quot; only errors, &quot;-vD&quot; debug</div>
<div class="line">-o &lt;file&gt;  : Set base output filename (otherwise from input image)</div>
<div class="line">-s &lt;name&gt;  : Set output variable/symbol name (otherwise derived from output filename)</div>
<div class="line">--csource  : Export C source format with incbins for data files</div>
<div class="line">--bank=N   : Set bank number for C source output where N is decimal bank number 1-511</div>
<div class="line">--type=N   : Set conversion type where N is one of below </div>
<div class="line">              1: Median Cut - No Dither (*Default*)</div>
<div class="line">              2: Median Cut - With Dither</div>
<div class="line">              3: Wu Quantiser (best quality)</div>
<div class="line">-p         : Show screen attribute pattern options (no processing)</div>
<div class="line">-L=N       : Set Left  side of screen palette arrangement where N is name listed below or decimal entry</div>
<div class="line">-R=N       : Set Right side of screen palette arrangement where N is name listed below or decimal entry</div>
<div class="line">             Named options for N: &quot;adaptive-fast&quot;, &quot;adaptive-medium&quot;, &quot;adaptive-best&quot; (-p for full options) </div>
<div class="line">--best     : Use highest quality conversion settings (--type=3 -L=adaptive-best -R=adaptive-best)</div>
<div class="line">--vaddrid  : Map uses vram id (128-&gt;255-&gt;0-&gt;127) instead of (*Default*) sequential tile order (0-&gt;255)</div>
<div class="line">--nodedupe : Turn off tile pattern deduplication</div>
<div class="line">--precompiled   : Export Palette data as pre-compiled executable loading code</div>
<div class="line">--palendbit     : Set unused bit .15 = 1 for last u16 entry in palette data indicating end (not in precompiled)</div>
<div class="line">--addendcolor=N : Append 32 x color N (hex BGR555) in pal data to clear BG for shorter images (64 bytes) (not in precompiled)</div>
<div class="line"> </div>
<div class="line">Example 1: &quot;png2hicolorgb myimage.png&quot;</div>
<div class="line">Example 2: &quot;png2hicolorgb myimage.png --csource -o my_output_filename&quot;</div>
<div class="line">Example 2: &quot;png2hicolorgb myimage.png --palendbit --addendcolor 0x7FFF -o my_output_filename -s my_variable_name&quot;</div>
<div class="line">* Default settings provide good results. Better quality but slower: &quot;--type=3 -L=adaptive-best -R=adaptive-best&quot;</div>
<div class="line"> </div>
<div class="line">Historical credits and info:</div>
<div class="line">   Original Concept : Icarus Productions</div>
<div class="line">   Original Code : Jeff Frohwein</div>
<div class="line">   Full Screen Modification : Anon</div>
<div class="line">   Adaptive Code : Glen Cook</div>
<div class="line">   Windows Interface : Glen Cook</div>
<div class="line">   Additional Windows Programming : Rob Jones</div>
<div class="line">   Original Quantiser Code : Benny</div>
<div class="line">   Quantiser Conversion : Glen Cook</div>
</div><!-- fragment --><p> <a class="anchor" id="romusage-settings"></a></p>
<h1><a class="anchor" id="autotoc_md305"></a>
romusage settings</h1>
<div class="fragment"><div class="line">romusage input_file.[map|noi|ihx|cdb|.gb[c]|.pocket|.duck|.gg|.sms] [options]</div>
<div class="line">version 1.3.1, by bbbbbr</div>
<div class="line"> </div>
<div class="line">Options</div>
<div class="line">-h  : Show this help</div>
<div class="line">-p  : Set platform (GBDK specific), &quot;-p:SMS_GG&quot; for SMS/Game Gear, &quot;-p:NES1&quot; for NES</div>
<div class="line"> </div>
<div class="line">-a  : Show Areas in each Bank. Optional sort by, address:&quot;-aA&quot; or size:&quot;-aS&quot; </div>
<div class="line">-g  : Show a small usage graph per bank (-gA for ascii style)</div>
<div class="line">-G  : Show a large usage graph per bank (-GA for ascii style)</div>
<div class="line">-B  : Brief (summarized) output for banked regions. Auto scales max bank</div>
<div class="line">      shows [Region]_[Max Used Bank] / [auto-sized Max Bank Num]</div>
<div class="line">-F  : Force Max ROM and SRAM bank num for -B. (0 based) -F:ROM:SRAM (ex: -F:255:15)</div>
<div class="line"> </div>
<div class="line">-m  : Manually specify an Area -m:NAME:HEXADDR:HEXLENGTH</div>
<div class="line">-e  : Manually specify an Area that should not overlap -e:NAME:HEXADDR:HEXLENGTH</div>
<div class="line">-b  : Set hex bytes treated as Empty in ROM files (.gb/etc) -b:HEXVAL[...] (default FF)</div>
<div class="line">-E  : All areas are exclusive (except HEADERs), warn for any overlaps</div>
<div class="line">-q  : Quiet, no output except warnings and errors</div>
<div class="line">-Q  : Suppress output of warnings and errors</div>
<div class="line">-R  : Return error code for Area warnings and errors</div>
<div class="line"> </div>
<div class="line">-sR : [Rainbow] Color output (-sRe for Row Ends, -sRd for Center Dimmed, -sRp % based)</div>
<div class="line">-sP : Custom Color Palette. Colon separated entries are decimal VT100 color codes</div>
<div class="line">      -sP:DEFAULT:ROM:VRAM:SRAM:WRAM:HRAM (section based color only)</div>
<div class="line">-sC : Show Compact Output, hide non-essential columns</div>
<div class="line">-sH : Show HEADER Areas (normally hidden)</div>
<div class="line">-smROM  : Show Merged ROM_0  and ROM_1  output (i.e. bare 32K ROM)</div>
<div class="line">-smWRAM : Show Merged WRAM_0 and WRAM_1 output (i.e DMG/MGB not CGB)</div>
<div class="line">          -sm* compatible with banked ROM_x or WRAM_x when used with -B</div>
<div class="line">-sJ   : Show JSON output. Some options not applicable. When used, -Q recommended</div>
<div class="line">-nB   : Hide warning banner (for .cdb output)</div>
<div class="line">-nA   : Hide areas (shown by default in .cdb output)</div>
<div class="line">-z    : Hide areas smaller than SIZE -z:DECSIZE</div>
<div class="line">-nMEM : Hide banks matching case sensitive substring (ex hide all RAM: -nMEM:RAM)</div>
<div class="line"> </div>
<div class="line">Use: Read a .map, .noi, .cdb or .ihx file to display area sizes</div>
<div class="line">Example 1: &quot;romusage build/MyProject.map&quot;</div>
<div class="line">Example 2: &quot;romusage build/MyProject.noi -a -e:STACK:DEFF:100 -e:SHADOW_OAM:C000:A0&quot;</div>
<div class="line">Example 3: &quot;romusage build/MyProject.ihx -g&quot;</div>
<div class="line">Example 4: &quot;romusage build/MyProject.map -q -R&quot;</div>
<div class="line">Example 5: &quot;romusage build/MyProject.noi -sR -sP:90:32:90:35:33:36&quot;</div>
<div class="line">Example 6: &quot;romusage build/MyProject.map -sRp -g -B -F:255:15 -smROM -smWRAM&quot;</div>
<div class="line">Example 7: &quot;romusage build/MyProject.gb  -g -b:FF:00&quot;</div>
<div class="line"> </div>
<div class="line">Notes:</div>
<div class="line">  * GBDK / RGBDS map file format detection is automatic.</div>
<div class="line">  * Estimates are as close as possible, but may not be complete.</div>
<div class="line">    Unless specified with -m/-e they *do not* factor regions lacking</div>
<div class="line">    complete ranges in the Map/Noi/Ihx file, for example Shadow OAM and Stack.</div>
<div class="line">  * IHX files can only detect overlaps, not detect memory region overflows.</div>
<div class="line">  * CDB file output ONLY counts (most) data from C sources.</div>
<div class="line">    It cannot count functions and data from ASM and LIBs,</div>
<div class="line">    so bank totals may be incorrect/missing.</div>
<div class="line">  * GB/GBC/ROM files are just guessing, no promises.</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>
